package problem6;

import java.util.*;

public class IntersectionAndUnion {
    public static ArrayList<Integer> intersection(
            ArrayList<Integer> list1,
            ArrayList<Integer> list2
    ) {
        ArrayList<Integer> interSectionArray = new ArrayList<>();
        for(Integer e1 : list1){
            for(Integer e2 : list2){
                if(e1.equals(e2)){
                    interSectionArray.add(e1);
                }
            }
        }
        Collections.sort(interSectionArray);
        return interSectionArray;
    }
    public static ArrayList<Integer> union(
            ArrayList<Integer> list1,
            ArrayList<Integer> list2
    ) {
//        ArrayList<Integer> unionArray = new ArrayList<>();
        ArrayList<Integer> _list1 = new ArrayList<>();
        ArrayList<Integer> _list2 = new ArrayList<>();
        ArrayList<Integer> interArrayList =  intersection(list1, list2);


        for(Integer e1 : list1){
            boolean equal = false;
            for(Integer interE : interArrayList){
                if(e1.equals(interE)){
                    equal = true;
                }
            }
            if(!equal){
                _list1.add(e1);
            }
        }
        for(Integer e2 : list2){
            boolean equal = false;
            for(Integer interE : interArrayList){
                if(e2.equals(interE)){
                    equal = true;
                }
            }
            if(!equal){
                _list2.add(e2);
            }
        }
        for(Integer e : _list1){
            _list2.add(e);
        }

        for(Integer e : interArrayList){
            _list2.add(e);
        }
        Collections.sort(_list2);
        return _list2;
    }
}
